package com.yl.service;

import com.yl.common.core.domain.AjaxResult;
import com.yl.domain.dto.StudentDTO;
import sun.java2d.pipe.AAShapePipe;

import java.util.List;

public interface ZhiXingService {

    /**
     * 生成token 用于调用职行API
     *
     * @author : y
     * @date :  2024/6/24 14:06
     **/
    String getTokenByAgentId(Long agentId);

    /**
     * 创建主题（职业）
     *
     * @param name         主题                              必填
     * @param career_msg   说明。类似职业解析            不必填
     * @param career_photo 职业图片                  不必填
     * @param label        类型标签--职行新增职业的职业类型     必填
     * @return code
     * @author : y
     * @date :  2024/6/24 11:10
     **/
    AjaxResult saveDiscussion(String name, String career_msg, String label, String career_photo);


    /**
     * @author : y
     * @date :  2024/6/26 10:10
     **/

    AjaxResult getDiscussion(Integer page, Integer size);

    /**
     * 修改 主题
     *
     * @author : y
     * @date :  2024/6/25 9:20
     **/
    AjaxResult updateDiscussion(String name, String career_msg, String label, String career_photo, Long id);

    /**
     * 删除 主题
     *
     * @author : y
     * @date :  2024/6/26 10:21
     **/
    AjaxResult deleteDiscussion(Long id);

    /**
     * 获取主题详情
     *
     * @author : y
     * @date :  2024/6/26 16:49
     **/
    AjaxResult getDiscussionById(Long id);


    /**
     * 获取题目的标签列表
     *
     * @author : y
     * @date :  2024/6/25 14:20
     **/
    AjaxResult getTiKuTagList();


    /**
     * 创建题目
     *
     * @param ans_analysis 参考答案
     * @param career_id    职业id
     * @param level        基础/进阶
     * @param skill_tag    标签 list
     * @param text         题目内容 会生成数字人
     * @author : y
     * @date :  2024/6/25 16:36
     **/
    AjaxResult createTiKu(String text, String ans_analysis, String level, List<Long> skill_tag, Long career_id);


    /**
     * 获取学生列表
     *
     * @author : y
     * @date :  2024/6/27 16:19
     **/

    AjaxResult getStudentPage(Integer page, Integer pageSize);

    /**
     * 生成数字人
     *
     * @param content 需要生成的视频
     * @author : y
     * @date :  2024/6/27 16:29
     **/

    AjaxResult createHiHuman(String content);

    /**
     * 根据ID查询数字人视频
     *
     * @author : y
     * @date :  2024/6/27 16:30
     **/
    AjaxResult getHiHuman(Long id);

    /**
     * 验证账号密码
     *
     * @param account  账号
     * @param password 密码
     * @type 类型(student / admin)
     * @author : y
     * @date :  2024/6/28 10:04
     **/
    AjaxResult verifyAccount(String account, String password, String type);


    /**
     * 2.3.2 批量创建面试场次/同时返回题目
     *
     * @author : y
     * @date :  2024/7/10 15:30
     **/
    AjaxResult batchCreateSession(Long careerId, List<StudentDTO> users);


    /**
     * 创建面试报告
     *
     * @author : y
     * @date :  2024/7/10 16:23
     **/
    AjaxResult createReport(Long sessionId);


    /**
     * 获取面试报告
     * studentId 学生id
     * conferenceId  会议id
     * @author : y
     * @date :  2024/7/10 16:32
     **/
    AjaxResult getReport(Long sessnionId,Long conferenceId);


    /**
     * 2.3.3 每个同学回答完成上传答案信息
     * @author : y
     * @date :  2024/7/14 16:38
     **/
    AjaxResult ask_finish(String param);
}
